home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / rmi / Naming.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.5 KB  |  157 lines

  1. package java.rmi;
  2.  
  3. import java.net.MalformedURLException;
  4. import java.net.URI;
  5. import java.net.URISyntaxException;
  6. import java.rmi.registry.LocateRegistry;
  7. import java.rmi.registry.Registry;
  8.  
  9. public final class Naming {
  10.    private Naming() {
  11.    }
  12.  
  13.    public static Remote lookup(String var0) throws NotBoundException, MalformedURLException, RemoteException {
  14.       ParsedNamingURL var1 = parseURL(var0);
  15.       Registry var2 = getRegistry(var1);
  16.       return (Remote)(var1.name == null ? var2 : var2.lookup(var1.name));
  17.    }
  18.  
  19.    public static void bind(String var0, Remote var1) throws AlreadyBoundException, MalformedURLException, RemoteException {
  20.       ParsedNamingURL var2 = parseURL(var0);
  21.       Registry var3 = getRegistry(var2);
  22.       if (var1 == null) {
  23.          throw new NullPointerException("cannot bind to null");
  24.       } else {
  25.          var3.bind(var2.name, var1);
  26.       }
  27.    }
  28.  
  29.    public static void unbind(String var0) throws RemoteException, NotBoundException, MalformedURLException {
  30.       ParsedNamingURL var1 = parseURL(var0);
  31.       Registry var2 = getRegistry(var1);
  32.       var2.unbind(var1.name);
  33.    }
  34.  
  35.    public static void rebind(String var0, Remote var1) throws RemoteException, MalformedURLException {
  36.       ParsedNamingURL var2 = parseURL(var0);
  37.       Registry var3 = getRegistry(var2);
  38.       if (var1 == null) {
  39.          throw new NullPointerException("cannot bind to null");
  40.       } else {
  41.          var3.rebind(var2.name, var1);
  42.       }
  43.    }
  44.  
  45.    public static String[] list(String var0) throws RemoteException, MalformedURLException {
  46.       ParsedNamingURL var1 = parseURL(var0);
  47.       Registry var2 = getRegistry(var1);
  48.       String var3 = "";
  49.       if (var1.port > 0 || !var1.host.equals("")) {
  50.          var3 = var3 + "//" + var1.host;
  51.       }
  52.  
  53.       if (var1.port > 0) {
  54.          var3 = var3 + ":" + var1.port;
  55.       }
  56.  
  57.       var3 = var3 + "/";
  58.       String[] var4 = var2.list();
  59.  
  60.       for(int var5 = 0; var5 < var4.length; ++var5) {
  61.          var4[var5] = var3 + var4[var5];
  62.       }
  63.  
  64.       return var4;
  65.    }
  66.  
  67.    private static Registry getRegistry(ParsedNamingURL var0) throws RemoteException {
  68.       return LocateRegistry.getRegistry(var0.host, var0.port);
  69.    }
  70.  
  71.    private static ParsedNamingURL parseURL(String var0) throws MalformedURLException {
  72.       try {
  73.          return intParseURL(var0);
  74.       } catch (URISyntaxException var10) {
  75.          MalformedURLException var2 = new MalformedURLException("invalid URL String: " + var0);
  76.          var2.initCause(var10);
  77.          int var3 = var0.indexOf(58);
  78.          int var4 = var0.indexOf("//:");
  79.          if (var4 < 0) {
  80.             throw var2;
  81.          } else if (var4 == 0 || var3 > 0 && var4 == var3 + 1) {
  82.             int var5 = var4 + 2;
  83.             String var6 = var0.substring(0, var5) + "localhost" + var0.substring(var5);
  84.  
  85.             try {
  86.                return intParseURL(var6);
  87.             } catch (URISyntaxException var8) {
  88.                throw var2;
  89.             } catch (MalformedURLException var9) {
  90.                throw var9;
  91.             }
  92.          } else {
  93.             throw var2;
  94.          }
  95.       }
  96.    }
  97.  
  98.    private static ParsedNamingURL intParseURL(String var0) throws MalformedURLException, URISyntaxException {
  99.       URI var1 = new URI(var0);
  100.       if (var1.isOpaque()) {
  101.          throw new MalformedURLException("not a hierarchical URL: " + var0);
  102.       } else if (var1.getFragment() != null) {
  103.          throw new MalformedURLException("invalid character, '#', in URL name: " + var0);
  104.       } else if (var1.getQuery() != null) {
  105.          throw new MalformedURLException("invalid character, '?', in URL name: " + var0);
  106.       } else if (var1.getUserInfo() != null) {
  107.          throw new MalformedURLException("invalid character, '@', in URL host: " + var0);
  108.       } else {
  109.          String var2 = var1.getScheme();
  110.          if (var2 != null && !var2.equals("rmi")) {
  111.             throw new MalformedURLException("invalid URL scheme: " + var0);
  112.          } else {
  113.             String var3 = var1.getPath();
  114.             if (var3 != null) {
  115.                if (var3.startsWith("/")) {
  116.                   var3 = var3.substring(1);
  117.                }
  118.  
  119.                if (var3.length() == 0) {
  120.                   var3 = null;
  121.                }
  122.             }
  123.  
  124.             String var4 = var1.getHost();
  125.             if (var4 == null) {
  126.                var4 = "";
  127.  
  128.                try {
  129.                   var1.parseServerAuthority();
  130.                } catch (URISyntaxException var9) {
  131.                   String var6 = var1.getAuthority();
  132.                   if (var6 == null || !var6.startsWith(":")) {
  133.                      throw new MalformedURLException("invalid authority: " + var0);
  134.                   }
  135.  
  136.                   var6 = "localhost" + var6;
  137.  
  138.                   try {
  139.                      var1 = new URI((String)null, var6, (String)null, (String)null, (String)null);
  140.                      var1.parseServerAuthority();
  141.                   } catch (URISyntaxException var8) {
  142.                      throw new MalformedURLException("invalid authority: " + var0);
  143.                   }
  144.                }
  145.             }
  146.  
  147.             int var5 = var1.getPort();
  148.             if (var5 == -1) {
  149.                var5 = 1099;
  150.             }
  151.  
  152.             return new ParsedNamingURL(var4, var5, var3);
  153.          }
  154.       }
  155.    }
  156. }
  157.